Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
In some cases, software applications may be designed to provide reports or layouts that include various types or categories of information. For example, a user may request order data from a database that includes all orders to shipped to a certain geographic region within a certain time period (e.g. all orders shipped to New York within the month of June). The requested information is retrieved from a database and presented to the user in the form of a layout or report.
To present such information, two determinations are made: 1) which data to present and 2) how to present the data. Typically, these data presentations are optimized for either query actions or layout actions. Presentations optimized for query actions generally end up with illogical default layouts which are then corrected manually by a user. Presentations optimized for layout actions generally end up with restricted query capabilities.